/**
 * <copyright>
 * </copyright>
 *

 */
package org.dslintegration.mRules;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see org.dslintegration.mRules.MRulesFactory
 * @model kind="package"
 * @generated
 */
public interface MRulesPackage extends EPackage
{
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "mRules";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "http://www.dslintegration.org/MRules";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "mRules";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  MRulesPackage eINSTANCE = org.dslintegration.mRules.impl.MRulesPackageImpl.init();

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.MergeRulesImpl <em>Merge Rules</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.MergeRulesImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getMergeRules()
   * @generated
   */
  int MERGE_RULES = 0;

  /**
   * The feature id for the '<em><b>Metamodel Path Left</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MERGE_RULES__METAMODEL_PATH_LEFT = 0;

  /**
   * The feature id for the '<em><b>Metamodel Path Right</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MERGE_RULES__METAMODEL_PATH_RIGHT = 1;

  /**
   * The feature id for the '<em><b>Default Dominant</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MERGE_RULES__DEFAULT_DOMINANT = 2;

  /**
   * The feature id for the '<em><b>Rules</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MERGE_RULES__RULES = 3;

  /**
   * The number of structural features of the '<em>Merge Rules</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int MERGE_RULES_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.SourceImpl <em>Source</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.SourceImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getSource()
   * @generated
   */
  int SOURCE = 1;

  /**
   * The feature id for the '<em><b>Dominant</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SOURCE__DOMINANT = 0;

  /**
   * The feature id for the '<em><b>Guard</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SOURCE__GUARD = 1;

  /**
   * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SOURCE__QUALIFIED_NAME = 2;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SOURCE__NAME = 3;

  /**
   * The number of structural features of the '<em>Source</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int SOURCE_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.TargetImpl <em>Target</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.TargetImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getTarget()
   * @generated
   */
  int TARGET = 2;

  /**
   * The feature id for the '<em><b>Dominant</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET__DOMINANT = 0;

  /**
   * The feature id for the '<em><b>Guard</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET__GUARD = 1;

  /**
   * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET__QUALIFIED_NAME = 2;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET__NAME = 3;

  /**
   * The number of structural features of the '<em>Target</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TARGET_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.OutputImpl <em>Output</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.OutputImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getOutput()
   * @generated
   */
  int OUTPUT = 3;

  /**
   * The feature id for the '<em><b>Create</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OUTPUT__CREATE = 0;

  /**
   * The feature id for the '<em><b>Qualified Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OUTPUT__QUALIFIED_NAME = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OUTPUT__NAME = 2;

  /**
   * The number of structural features of the '<em>Output</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OUTPUT_FEATURE_COUNT = 3;

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.RuleImpl <em>Rule</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.RuleImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getRule()
   * @generated
   */
  int RULE = 4;

  /**
   * The feature id for the '<em><b>Rule Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE__RULE_NAME = 0;

  /**
   * The feature id for the '<em><b>Source</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE__SOURCE = 1;

  /**
   * The feature id for the '<em><b>Target</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE__TARGET = 2;

  /**
   * The feature id for the '<em><b>Output</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE__OUTPUT = 3;

  /**
   * The feature id for the '<em><b>Statements</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE__STATEMENTS = 4;

  /**
   * The number of structural features of the '<em>Rule</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_FEATURE_COUNT = 5;

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.RuleStatementImpl <em>Rule Statement</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.RuleStatementImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getRuleStatement()
   * @generated
   */
  int RULE_STATEMENT = 5;

  /**
   * The feature id for the '<em><b>Statement</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_STATEMENT__STATEMENT = 0;

  /**
   * The feature id for the '<em><b>Expession</b></em>' containment reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_STATEMENT__EXPESSION = 1;

  /**
   * The feature id for the '<em><b>Output</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_STATEMENT__OUTPUT = 2;

  /**
   * The feature id for the '<em><b>Output Attribute</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_STATEMENT__OUTPUT_ATTRIBUTE = 3;

  /**
   * The number of structural features of the '<em>Rule Statement</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RULE_STATEMENT_FEATURE_COUNT = 4;

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.ExpressionImpl <em>Expression</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.ExpressionImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getExpression()
   * @generated
   */
  int EXPRESSION = 6;

  /**
   * The feature id for the '<em><b>Left</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EXPRESSION__LEFT = 0;

  /**
   * The feature id for the '<em><b>Right</b></em>' containment reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EXPRESSION__RIGHT = 1;

  /**
   * The number of structural features of the '<em>Expression</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int EXPRESSION_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.RightAttributeImpl <em>Right Attribute</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.RightAttributeImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getRightAttribute()
   * @generated
   */
  int RIGHT_ATTRIBUTE = 7;

  /**
   * The feature id for the '<em><b>Target</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RIGHT_ATTRIBUTE__TARGET = 0;

  /**
   * The feature id for the '<em><b>Attribute Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RIGHT_ATTRIBUTE__ATTRIBUTE_NAME = 1;

  /**
   * The number of structural features of the '<em>Right Attribute</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int RIGHT_ATTRIBUTE_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link org.dslintegration.mRules.impl.LeftAttributeImpl <em>Left Attribute</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see org.dslintegration.mRules.impl.LeftAttributeImpl
   * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getLeftAttribute()
   * @generated
   */
  int LEFT_ATTRIBUTE = 8;

  /**
   * The feature id for the '<em><b>Source</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LEFT_ATTRIBUTE__SOURCE = 0;

  /**
   * The feature id for the '<em><b>Attribute Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LEFT_ATTRIBUTE__ATTRIBUTE_NAME = 1;

  /**
   * The number of structural features of the '<em>Left Attribute</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int LEFT_ATTRIBUTE_FEATURE_COUNT = 2;


  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.MergeRules <em>Merge Rules</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Merge Rules</em>'.
   * @see org.dslintegration.mRules.MergeRules
   * @generated
   */
  EClass getMergeRules();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.MergeRules#getMetamodelPathLeft <em>Metamodel Path Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Metamodel Path Left</em>'.
   * @see org.dslintegration.mRules.MergeRules#getMetamodelPathLeft()
   * @see #getMergeRules()
   * @generated
   */
  EAttribute getMergeRules_MetamodelPathLeft();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.MergeRules#getMetamodelPathRight <em>Metamodel Path Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Metamodel Path Right</em>'.
   * @see org.dslintegration.mRules.MergeRules#getMetamodelPathRight()
   * @see #getMergeRules()
   * @generated
   */
  EAttribute getMergeRules_MetamodelPathRight();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.MergeRules#getDefaultDominant <em>Default Dominant</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Default Dominant</em>'.
   * @see org.dslintegration.mRules.MergeRules#getDefaultDominant()
   * @see #getMergeRules()
   * @generated
   */
  EAttribute getMergeRules_DefaultDominant();

  /**
   * Returns the meta object for the containment reference list '{@link org.dslintegration.mRules.MergeRules#getRules <em>Rules</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Rules</em>'.
   * @see org.dslintegration.mRules.MergeRules#getRules()
   * @see #getMergeRules()
   * @generated
   */
  EReference getMergeRules_Rules();

  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.Source <em>Source</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Source</em>'.
   * @see org.dslintegration.mRules.Source
   * @generated
   */
  EClass getSource();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Source#isDominant <em>Dominant</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Dominant</em>'.
   * @see org.dslintegration.mRules.Source#isDominant()
   * @see #getSource()
   * @generated
   */
  EAttribute getSource_Dominant();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Source#isGuard <em>Guard</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Guard</em>'.
   * @see org.dslintegration.mRules.Source#isGuard()
   * @see #getSource()
   * @generated
   */
  EAttribute getSource_Guard();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Source#getQualifiedName <em>Qualified Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Qualified Name</em>'.
   * @see org.dslintegration.mRules.Source#getQualifiedName()
   * @see #getSource()
   * @generated
   */
  EAttribute getSource_QualifiedName();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Source#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.dslintegration.mRules.Source#getName()
   * @see #getSource()
   * @generated
   */
  EAttribute getSource_Name();

  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.Target <em>Target</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Target</em>'.
   * @see org.dslintegration.mRules.Target
   * @generated
   */
  EClass getTarget();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Target#isDominant <em>Dominant</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Dominant</em>'.
   * @see org.dslintegration.mRules.Target#isDominant()
   * @see #getTarget()
   * @generated
   */
  EAttribute getTarget_Dominant();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Target#isGuard <em>Guard</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Guard</em>'.
   * @see org.dslintegration.mRules.Target#isGuard()
   * @see #getTarget()
   * @generated
   */
  EAttribute getTarget_Guard();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Target#getQualifiedName <em>Qualified Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Qualified Name</em>'.
   * @see org.dslintegration.mRules.Target#getQualifiedName()
   * @see #getTarget()
   * @generated
   */
  EAttribute getTarget_QualifiedName();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Target#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.dslintegration.mRules.Target#getName()
   * @see #getTarget()
   * @generated
   */
  EAttribute getTarget_Name();

  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.Output <em>Output</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Output</em>'.
   * @see org.dslintegration.mRules.Output
   * @generated
   */
  EClass getOutput();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Output#isCreate <em>Create</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Create</em>'.
   * @see org.dslintegration.mRules.Output#isCreate()
   * @see #getOutput()
   * @generated
   */
  EAttribute getOutput_Create();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Output#getQualifiedName <em>Qualified Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Qualified Name</em>'.
   * @see org.dslintegration.mRules.Output#getQualifiedName()
   * @see #getOutput()
   * @generated
   */
  EAttribute getOutput_QualifiedName();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Output#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see org.dslintegration.mRules.Output#getName()
   * @see #getOutput()
   * @generated
   */
  EAttribute getOutput_Name();

  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.Rule <em>Rule</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Rule</em>'.
   * @see org.dslintegration.mRules.Rule
   * @generated
   */
  EClass getRule();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.Rule#getRuleName <em>Rule Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Rule Name</em>'.
   * @see org.dslintegration.mRules.Rule#getRuleName()
   * @see #getRule()
   * @generated
   */
  EAttribute getRule_RuleName();

  /**
   * Returns the meta object for the containment reference '{@link org.dslintegration.mRules.Rule#getSource <em>Source</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Source</em>'.
   * @see org.dslintegration.mRules.Rule#getSource()
   * @see #getRule()
   * @generated
   */
  EReference getRule_Source();

  /**
   * Returns the meta object for the containment reference '{@link org.dslintegration.mRules.Rule#getTarget <em>Target</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Target</em>'.
   * @see org.dslintegration.mRules.Rule#getTarget()
   * @see #getRule()
   * @generated
   */
  EReference getRule_Target();

  /**
   * Returns the meta object for the containment reference '{@link org.dslintegration.mRules.Rule#getOutput <em>Output</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Output</em>'.
   * @see org.dslintegration.mRules.Rule#getOutput()
   * @see #getRule()
   * @generated
   */
  EReference getRule_Output();

  /**
   * Returns the meta object for the containment reference list '{@link org.dslintegration.mRules.Rule#getStatements <em>Statements</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Statements</em>'.
   * @see org.dslintegration.mRules.Rule#getStatements()
   * @see #getRule()
   * @generated
   */
  EReference getRule_Statements();

  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.RuleStatement <em>Rule Statement</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Rule Statement</em>'.
   * @see org.dslintegration.mRules.RuleStatement
   * @generated
   */
  EClass getRuleStatement();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.RuleStatement#getStatement <em>Statement</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Statement</em>'.
   * @see org.dslintegration.mRules.RuleStatement#getStatement()
   * @see #getRuleStatement()
   * @generated
   */
  EAttribute getRuleStatement_Statement();

  /**
   * Returns the meta object for the containment reference '{@link org.dslintegration.mRules.RuleStatement#getExpession <em>Expession</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference '<em>Expession</em>'.
   * @see org.dslintegration.mRules.RuleStatement#getExpession()
   * @see #getRuleStatement()
   * @generated
   */
  EReference getRuleStatement_Expession();

  /**
   * Returns the meta object for the reference '{@link org.dslintegration.mRules.RuleStatement#getOutput <em>Output</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Output</em>'.
   * @see org.dslintegration.mRules.RuleStatement#getOutput()
   * @see #getRuleStatement()
   * @generated
   */
  EReference getRuleStatement_Output();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.RuleStatement#getOutputAttribute <em>Output Attribute</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Output Attribute</em>'.
   * @see org.dslintegration.mRules.RuleStatement#getOutputAttribute()
   * @see #getRuleStatement()
   * @generated
   */
  EAttribute getRuleStatement_OutputAttribute();

  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.Expression <em>Expression</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Expression</em>'.
   * @see org.dslintegration.mRules.Expression
   * @generated
   */
  EClass getExpression();

  /**
   * Returns the meta object for the containment reference list '{@link org.dslintegration.mRules.Expression#getLeft <em>Left</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Left</em>'.
   * @see org.dslintegration.mRules.Expression#getLeft()
   * @see #getExpression()
   * @generated
   */
  EReference getExpression_Left();

  /**
   * Returns the meta object for the containment reference list '{@link org.dslintegration.mRules.Expression#getRight <em>Right</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the containment reference list '<em>Right</em>'.
   * @see org.dslintegration.mRules.Expression#getRight()
   * @see #getExpression()
   * @generated
   */
  EReference getExpression_Right();

  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.RightAttribute <em>Right Attribute</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Right Attribute</em>'.
   * @see org.dslintegration.mRules.RightAttribute
   * @generated
   */
  EClass getRightAttribute();

  /**
   * Returns the meta object for the reference '{@link org.dslintegration.mRules.RightAttribute#getTarget <em>Target</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Target</em>'.
   * @see org.dslintegration.mRules.RightAttribute#getTarget()
   * @see #getRightAttribute()
   * @generated
   */
  EReference getRightAttribute_Target();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.RightAttribute#getAttributeName <em>Attribute Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Attribute Name</em>'.
   * @see org.dslintegration.mRules.RightAttribute#getAttributeName()
   * @see #getRightAttribute()
   * @generated
   */
  EAttribute getRightAttribute_AttributeName();

  /**
   * Returns the meta object for class '{@link org.dslintegration.mRules.LeftAttribute <em>Left Attribute</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Left Attribute</em>'.
   * @see org.dslintegration.mRules.LeftAttribute
   * @generated
   */
  EClass getLeftAttribute();

  /**
   * Returns the meta object for the reference '{@link org.dslintegration.mRules.LeftAttribute#getSource <em>Source</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Source</em>'.
   * @see org.dslintegration.mRules.LeftAttribute#getSource()
   * @see #getLeftAttribute()
   * @generated
   */
  EReference getLeftAttribute_Source();

  /**
   * Returns the meta object for the attribute '{@link org.dslintegration.mRules.LeftAttribute#getAttributeName <em>Attribute Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Attribute Name</em>'.
   * @see org.dslintegration.mRules.LeftAttribute#getAttributeName()
   * @see #getLeftAttribute()
   * @generated
   */
  EAttribute getLeftAttribute_AttributeName();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  MRulesFactory getMRulesFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals
  {
    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.MergeRulesImpl <em>Merge Rules</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.MergeRulesImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getMergeRules()
     * @generated
     */
    EClass MERGE_RULES = eINSTANCE.getMergeRules();

    /**
     * The meta object literal for the '<em><b>Metamodel Path Left</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute MERGE_RULES__METAMODEL_PATH_LEFT = eINSTANCE.getMergeRules_MetamodelPathLeft();

    /**
     * The meta object literal for the '<em><b>Metamodel Path Right</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute MERGE_RULES__METAMODEL_PATH_RIGHT = eINSTANCE.getMergeRules_MetamodelPathRight();

    /**
     * The meta object literal for the '<em><b>Default Dominant</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute MERGE_RULES__DEFAULT_DOMINANT = eINSTANCE.getMergeRules_DefaultDominant();

    /**
     * The meta object literal for the '<em><b>Rules</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference MERGE_RULES__RULES = eINSTANCE.getMergeRules_Rules();

    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.SourceImpl <em>Source</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.SourceImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getSource()
     * @generated
     */
    EClass SOURCE = eINSTANCE.getSource();

    /**
     * The meta object literal for the '<em><b>Dominant</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SOURCE__DOMINANT = eINSTANCE.getSource_Dominant();

    /**
     * The meta object literal for the '<em><b>Guard</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SOURCE__GUARD = eINSTANCE.getSource_Guard();

    /**
     * The meta object literal for the '<em><b>Qualified Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SOURCE__QUALIFIED_NAME = eINSTANCE.getSource_QualifiedName();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute SOURCE__NAME = eINSTANCE.getSource_Name();

    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.TargetImpl <em>Target</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.TargetImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getTarget()
     * @generated
     */
    EClass TARGET = eINSTANCE.getTarget();

    /**
     * The meta object literal for the '<em><b>Dominant</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TARGET__DOMINANT = eINSTANCE.getTarget_Dominant();

    /**
     * The meta object literal for the '<em><b>Guard</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TARGET__GUARD = eINSTANCE.getTarget_Guard();

    /**
     * The meta object literal for the '<em><b>Qualified Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TARGET__QUALIFIED_NAME = eINSTANCE.getTarget_QualifiedName();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TARGET__NAME = eINSTANCE.getTarget_Name();

    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.OutputImpl <em>Output</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.OutputImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getOutput()
     * @generated
     */
    EClass OUTPUT = eINSTANCE.getOutput();

    /**
     * The meta object literal for the '<em><b>Create</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute OUTPUT__CREATE = eINSTANCE.getOutput_Create();

    /**
     * The meta object literal for the '<em><b>Qualified Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute OUTPUT__QUALIFIED_NAME = eINSTANCE.getOutput_QualifiedName();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute OUTPUT__NAME = eINSTANCE.getOutput_Name();

    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.RuleImpl <em>Rule</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.RuleImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getRule()
     * @generated
     */
    EClass RULE = eINSTANCE.getRule();

    /**
     * The meta object literal for the '<em><b>Rule Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute RULE__RULE_NAME = eINSTANCE.getRule_RuleName();

    /**
     * The meta object literal for the '<em><b>Source</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RULE__SOURCE = eINSTANCE.getRule_Source();

    /**
     * The meta object literal for the '<em><b>Target</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RULE__TARGET = eINSTANCE.getRule_Target();

    /**
     * The meta object literal for the '<em><b>Output</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RULE__OUTPUT = eINSTANCE.getRule_Output();

    /**
     * The meta object literal for the '<em><b>Statements</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RULE__STATEMENTS = eINSTANCE.getRule_Statements();

    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.RuleStatementImpl <em>Rule Statement</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.RuleStatementImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getRuleStatement()
     * @generated
     */
    EClass RULE_STATEMENT = eINSTANCE.getRuleStatement();

    /**
     * The meta object literal for the '<em><b>Statement</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute RULE_STATEMENT__STATEMENT = eINSTANCE.getRuleStatement_Statement();

    /**
     * The meta object literal for the '<em><b>Expession</b></em>' containment reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RULE_STATEMENT__EXPESSION = eINSTANCE.getRuleStatement_Expession();

    /**
     * The meta object literal for the '<em><b>Output</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RULE_STATEMENT__OUTPUT = eINSTANCE.getRuleStatement_Output();

    /**
     * The meta object literal for the '<em><b>Output Attribute</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute RULE_STATEMENT__OUTPUT_ATTRIBUTE = eINSTANCE.getRuleStatement_OutputAttribute();

    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.ExpressionImpl <em>Expression</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.ExpressionImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getExpression()
     * @generated
     */
    EClass EXPRESSION = eINSTANCE.getExpression();

    /**
     * The meta object literal for the '<em><b>Left</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference EXPRESSION__LEFT = eINSTANCE.getExpression_Left();

    /**
     * The meta object literal for the '<em><b>Right</b></em>' containment reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference EXPRESSION__RIGHT = eINSTANCE.getExpression_Right();

    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.RightAttributeImpl <em>Right Attribute</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.RightAttributeImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getRightAttribute()
     * @generated
     */
    EClass RIGHT_ATTRIBUTE = eINSTANCE.getRightAttribute();

    /**
     * The meta object literal for the '<em><b>Target</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference RIGHT_ATTRIBUTE__TARGET = eINSTANCE.getRightAttribute_Target();

    /**
     * The meta object literal for the '<em><b>Attribute Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute RIGHT_ATTRIBUTE__ATTRIBUTE_NAME = eINSTANCE.getRightAttribute_AttributeName();

    /**
     * The meta object literal for the '{@link org.dslintegration.mRules.impl.LeftAttributeImpl <em>Left Attribute</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see org.dslintegration.mRules.impl.LeftAttributeImpl
     * @see org.dslintegration.mRules.impl.MRulesPackageImpl#getLeftAttribute()
     * @generated
     */
    EClass LEFT_ATTRIBUTE = eINSTANCE.getLeftAttribute();

    /**
     * The meta object literal for the '<em><b>Source</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference LEFT_ATTRIBUTE__SOURCE = eINSTANCE.getLeftAttribute_Source();

    /**
     * The meta object literal for the '<em><b>Attribute Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute LEFT_ATTRIBUTE__ATTRIBUTE_NAME = eINSTANCE.getLeftAttribute_AttributeName();

  }

} //MRulesPackage
